home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Publication 6
/
Publication_06_19xx_High-Tech_de_Side_B.d64
/
reaktionstest!
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
4KB
|
117 lines
10 rem *****************************
20 rem * reaktionstest v1.4-pd *
22 rem * *
30 rem * (c) by g.zwank *
32 rem * berscheider str.22 *
34 rem * 5529 geichlingen *
36 rem * tel. 06566/8454 *
38 rem * *
40 rem * geichlingen,10.01.1984 *
50 rem *****************************
150 :
160 rem costruction:c64 + sw-monitor + verstaerker . c64 + fernsehgeraet
170 :
172 rem farbeinstellungen
175 poke53280,0:poke53281,0:print"[147]";
182 :
184 rem variblendefinition
190 sc=54272:fl=sc:fh=sc+1:wf=sc+4:an=sc+5:ha=sc+6:vl=sc+24:bh=53281:cf=.1028
205 pokean,0:pokeha,240:pokefh,58:pokefl,138
218 k1$="[147]reaktionstest":k2$="----------------------------------------"
220 dimp1$(3),p2$(3),p3$(3):p1$(1)="optisch ":p1$(2)="akkustisch"
225 p1$(3)="kombiniert":p2$(1)="klein":p2$(2)="mittel":p2$(3)="gross"
226 p3$(1)="gross":p3$(2)="mittel":p3$(3)="klein":p1$="------------":hs$=" "
230 p2$="[163][163][163][163][163]"
231 :
232 rem titel
233 print"[147] r e a k t i o n s t e s t"
234 print" ------------------------- "
235 print"(c) by g.zwank[145]"
236 fors=1to3:n=int(rnd(1)*750):fort=1ton:next:poke53281,1:pokevl,15:pokewf,17
237 fort=1to75:next:poke53281,0:pokewf,0:pokevl,0:next:fort=1to1000:next
238 :
239 rem parametereingabe
240 tg=0:vr=0:kn=999:gn=0:ft=5
250 printk1$"/parametereingabe":printk2$
260 input"anzahl der durchgaenge......";nn$:nn=val(nn$):nn$=""
270 ifnn=0then250
280 print"signal (optisch - 1)":print" (akkustisch - 2)"
290 print" (kombiniert - 3).....? ";
300 gosub700:sf=i:printp1$(i)
320 onigoto330,340,345
330 ox=1:ax=0:lx=0:goto350
340 ox=0:ax=17:lx=15:goto350
345 ox=1:ax=17:lx=15
350 gosub720
351 print"rnd-zeitanteil (klein - 1)":printtab(15)"(mittel - 2)"
352 printtab(15)"(gross - 3) ? ";
353 gosub700:tf=i:printp2$(i)
354 onigoto355,356,357
355 tc=191:tr=146:goto358
356 tc=101:tr=240:goto358
357 tc=25:tr=391
358 gosub720
359 print"pause (gross - 1)":printtab(6)"(mittel - 2)"
360 printtab(6)"(klein - 3)..........? ";
361 gosub700:ff=i:printp3$(i)
362 onigoto364,369,363
363 tc=tc*.5:tr=tr*.5:goto365
364 tc=tc*1.3:tr=tr*1.3
365 gosub730
369 print" [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
370 print" taste druecken [146]"
380 geti$:ifi$<>""then390
385 ft=ft+1:ifft=20thenft=0:goto670
387 goto380
388 :
389 rem start-testroutine
390 print"[147] a c h t u n g":printtab(13)"-------------"
400 forn=1tonn
410 t=tc+int(rnd(1)*tr)
420 fortt=1tot:geti$:ifi$<>""thenprinttab(17)"[ 0]*":vr=vr+1:goto410
430 next
440 pokevl,lx:pokewf,ax:pokebh,ox
445 fort=1to1000:geti$:ifi$=""thennext:goto750
455 tt=t:t=1000:next:t=tt
460 pokewf,0:pokevl,0:pokebh,0
480 tg=tg+t:ift<knthenkn=t
490 ift>gnthengn=t
500 oa=t:gosub760:t=oa:tm$=str$(t):tm$=right$(hs$,4-len(tm$))+tm$
505 printtab(17)tm$"]":print"[145]"tab(17)"[":next
510 printtab(16)"e n d e":printtab(16)"-------":fort=1to1500:next
511 :
512 rem auswertung
513 tg=int(tg/(nn*cf))/10:iftg-int(tg)=>.5thentg=int(tg)+1:goto515
514 tg=int(tg)
515 oa=kn:gosub760:kn=oa:oa=gn:gosub760:gn=oa
520 tp$=left$(p2$,len(str$(tg)))+"[163][163][163][163][163][163][163]"
530 printk1$"/auswertung":printk2$:ifnn>1then532
531 print"1 durchgang":goto550
532 p$=left$(p1$,len(str$(nn)))
540 print"[157]"nn"durchgaenge"
550 print"signal : ";p1$(sf):print"rnd-zeitanteil : ";p2$(tf)
555 print"pause : ";p3$(ff)
570 print"mittlere zeit :";tg;"[157]/200 sec"
575 printtab(17)tp$
580 print"laengste zeit :";gn;"[157]/200 sec"
590 print"kuerzeste zeit :";kn;"[157]/200 sec"
600 print"fehlversuche :";:ifvr=0thenprint" keine":goto610
605 printvr
610 gosub740:print"weiter (j/n) ? ";:
620 geti$:ifi$="j"thenprinti$;:gosub730:goto240
630 ifi$<>"n"then620
640 printi$;:gosub730:print"[147]programmende":end
645 :
646 rem unterroutinen
670 iffs=1thenfs=-1:goto369
680 fs=1:print"[145][145] ":print" "
690 goto380
700 geti$:i=val(i$):ifi<1ori>3then700
710 return
720 fors=1to250:next:return
730 fors=1to500:next:return
740 fors=1to3000:next:return
750 printtab(17)"[999]n":pokewf,0:pokevl,0:pokebh,0:goto410
760 oa=int(oa/cf)/10:ifoa-int(oa)=>.5thenoa=int(oa)+1:return
770 oa=int(oa):return